package com.weds.edpf.core.mapper;

import com.weds.core.annotation.MyBatisDao;
import com.weds.edpf.core.entity.AcDepUserEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author zcz
 * @Description 场所白名单
 * @Date 2020-06-03
 */
@MyBatisDao
public interface AcDepUserMapper {
    /**
     * 主键删除
     * @param xh
     * @return
     */
    int deleteByPrimaryKey(Integer xh);

    /**
     * 新增
     * @param record
     * @return
     */
    int insert(AcDepUserEntity record);

    /**
     * 批量新增
     * @param list
     * @return
     */
    int insertBatch(@Param("list") List<AcDepUserEntity> list);

    /**
     * 条件新增
     * @param record
     * @return
     */
    int insertSelective(AcDepUserEntity record);

    /**
     * 主键查询
     * @param xh
     * @return
     */
    AcDepUserEntity selectByPrimaryKey(Integer xh);

    /**
     * 条件更新
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(AcDepUserEntity record);

    /**
     * 更新
     * @param record
     * @return
     */
    int updateByPrimaryKey(AcDepUserEntity record);

    /**
     * 查询列表
     * @param record
     * @return
     */
    List<AcDepUserEntity> selectListByEntity(AcDepUserEntity record);

    /**
     * 批量删除
     * @param list
     * @return
     */
    int deleteBatchByKeys(@Param("list") List<AcDepUserEntity> list);

    /**
     * 更新场所名称
     * @param record
     * @return
     */
    int updateDepName(AcDepUserEntity record);
    /**
     * 刪除新場所在本模塊內的白名單
     * @param depSerial
     * @param moduleId
     * @return
     */
    int deleteByDepSerialAndModuleId(@Param("depSerial") String depSerial,@Param("moduleId") String moduleId);

    /**
     * 更新老場所白名單至新場所
     * @param newDepSerial
     * @param depLname
     * @param oldDepSerial
     * @param moduleId
     * @return
     */
    int updateByDepSerialAndModuleId(@Param("newDepSerial") String newDepSerial,
                                     @Param("depLname") String depLname,
                                     @Param("oldDepSerial") String oldDepSerial,
                                     @Param("moduleId") String moduleId);

    /**
     * 根据场所编号和模块id查询列表
     * @param depSerial
     * @param moduleId
     * @return
     */
    List<AcDepUserEntity> selectByDepSerialAndModuleId(@Param("depSerial") String depSerial,@Param("moduleId") String moduleId);

}